package cn.com.cifi.mars.service;

import cn.com.cifi.mars.bean.dto.MonitorConfigDetailDto;
import cn.com.cifi.mars.bean.dto.ProjectByStagesDto;
import cn.com.cifi.mars.bean.vo.monitoringConsole.*;

import java.util.List;

/**
 * 监控台
 * @author Li
 *
 */
public interface MonitoringConsoleService {

	
	/**
	 * 货值监控
	 */
	public PriceValueVo getValueMonitoring(String orgId, String reportDate);

	/**
	 * 核心指标监控
	 */
	public CoreQuotaVo getCoreQuotaStore(String orgId, String reportDate,String hrOrgTypeId);

	/**
	 * 监控指标-储明细
	 */
	public StoreItemVo getStoreItem(String orgId, String reportDate,List<MonitorConfigDetailDto> monitorConfigDetailDtoList,String hrOrgTypeId);

	/**
	 * 监控指标-产明细
	 */
	public ProduceItemVo getProduceItem(String orgId, String reportDate,List<MonitorConfigDetailDto> monitorConfigDetailDtoList,String hrOrgTypeId);

	/**
	 * 监控指标-供明细
	 */
	public SupplyItemVo getSupplyItem(String orgId, String reportDate,List<MonitorConfigDetailDto> monitorConfigDetailDtoList,String hrOrgTypeId);

	/**
	 * 监控指标-销明细
	 */
	public SaleItemVo getSaleItem(String orgId, String reportDate,List<MonitorConfigDetailDto> monitorConfigDetailDtoList,String hrOrgTypeId);

	/**
	 * 监控指标-存明细
	 */
	public StockItemVo getStockItem(String orgId, String reportDate,List<MonitorConfigDetailDto> monitorConfigDetailDtoList,String hrOrgTypeId);

	/**
	 * 监控指标-结明细
	 */
	public StatementItemVo getStatementItem(String orgId, String reportDate,List<MonitorConfigDetailDto> monitorConfigDetailDtoList,String hrOrgTypeId);

	/**
	 * 监控指标-回明细
	 */
	public ReturnItemVo getReturnItem(String orgId, String reportDate, List<MonitorConfigDetailDto> monitorConfigDetailDtoList, String hrOrgTypeId);

	/**
	 * 根据组织机构id和类型查询监控配置和详情
	 * @return
	 */
	List<MonitorConfigDetailDto>getDetailByOrgId(String orgId,String hrOrgTypeId);
	
	
	/**
	 * 获取监控台用户的数据权限
	 */
    List<ProjectByStagesDto> getMonitoringUserDataPermissions(String userId);
    
    /**
     * 发送预警提醒
     */
    public String warningReminderSave(String reportDate);
    
    
	/**
	 * 业态存销比
	 */
	public List<StoreSaleRateVo> getStoreSaleRate(String orgId, String reportDate);

	public void warningReminderSend(String reportDate, String dimensionCode);



}
